Interpretational overhead in system software
نویسنده
چکیده
Interpreting a program carries a runtime penalty: the interpretational overhead. Traditionally, a compiler removes interpretational overhead by sacrificing inessential details of program execution. However, a broad class of system software is based on non-standard interpretation of machine code or a higher-level language. For example, virtual machine monitors emulate privileged instructions; program instrumentation is used to build dynamic call graphs by intercepting function calls and returns; and dynamic software updating technology allows program code to be altered at runtime. Many of these frameworks are performance-sensitive and several efficiency requirements—both formal and informal—have been put forward over the last four decades. Largely independently, the concept of interpretational overhead received much attention in the partial evaluation (“program specialization”) literature. This dissertation contributes a unifying understanding of efficiency and interpretational overhead in system software. Starting from the observation that a virtual machine monitor is a self-interpreter for machine code, our first contribution is to reconcile the definition of efficient virtualization due to Popek and Goldberg with Jones optimality, a measure of the strength of program specializers. We also present a rational reconstruction of hardware virtualization support (“trap-and-emulate”) from context-threaded interpretation, a technique for implementing fast interpreters due to Berndl et al. As a form of augmented execution, virtualization shares many similarities with program instrumentation. Although several low-overhead instrumentation frameworks are available on today’s hardware, there has been no formal understanding of what it means for instrumentation to be efficient. Our second contribution is a definition of efficiency for program instrumentation in the spirit of Popek and Goldberg’s work. Instrumentation also incurs an implicit overhead because instrumentation code needs access to intermediate execution states and this is antagonistic to optimization. The third contribution is to use partial equivalence relations (PERs) to express the dependence of instrumentation on execution state, enabling an instrumentation/optimization trade-off. Since program instrumentation, applied at runtime, constitutes a kind of dynamic software update, we can similarly restrict allowable future updates to be consistent with existing optimizations. Finally, treating “old” and “new” code in a dynamically-updatable program as being written in different languages permits a semantic explanation of a safety rule that was originally introduced as a syntactic check.
منابع مشابه
Interpretability, Interpolation and Rule Weights in Linguistic Fuzzy Modeling
Linguistic fuzzy modeling that is usually implemented using Mamdani type of fuzzy systems suffers from the lack accuracy and high computational costs. The paper shows that product-sum inference is an immediate remedy to both problems and that in this case it is sufficient to consider symmetrical output membership functions. For the identification of the latter, a numerically efficient method is...
متن کاملLanguage support for dynamic and evolving software architectures
Language Support for Piecemeal Software Architecture Evolution In the current practice of software engineering there is relative little guidance on how to develop “good” software architectures. Current real-world software architectures often suffer from limited reuse, flexibility, understandability, maintainability, predictability, and several other problems. We can observe that many of these p...
متن کاملApplication of Independent Joint Control Strategy for Discrete-Time Servo Control of Overhead Cranes
In this study, a new servo control system is presented for the overhead crane based on discrete-time state feedback approach. It provides both robust tracking and load swing suppression. Inspired from independent joint and computed torque control in robot manipulator field, a new model is derived in which the crane actuators are considered as the main plant. The crane nonlinearities are then tr...
متن کاملHigh Frequency Analysis of Single Overhead Line Terminated to Grounded Arrester
In this paper, intelligent models based on fuzzy inference are proposed to analyze single overhead line terminated to arrester. This paper consists of two parts. The first one is modeling overhead line and the second one is related to modeling grounding system. In each part, the behavior of the problem is first represented as simple and unchanged membership functions. After then, effects of par...
متن کاملProposing an Efficient Software-based Method to Enhance Reliability of Computer Systems against Soft Errors
In recent years, along with rapid developments in technology, computer systems haveincreasingly become more integrated and more modular. Indeed, the reliability and efficiency ofcomputer systems are of high significance. Hence, the quantitative evaluation of the optimizationof reliability indexes in computer systems is considered to be a crucial issue. Reliabilityenhancement of computer systems...
متن کامل